<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link type="text/css" rel="stylesheet" href="../../resource/css/reset.css"/>
        <link type="text/css" rel="stylesheet" href="../../resource/css/api_index.css"/>
        <script type="text/javascript" src="../../resource/js/fw/jquery-1.8.3.min.js"></script>
    </head>
    <body>
        <div class="pk-wrap">

            <div class="pk-unit-wrap">
                <div class="pk-unit">
                    <h1 class="clearfix">
                        <span class="pk-color-title">Function</span>
                        <span class="pk-float-right pk-tip">Core > Object > Function</span>
                    </h1>
                </div>
                <div class="pk-unit">
                    <div class="pk-unit-with-style">
                        <div class="pk-unit-tag">Description</div>
                        <pre>    函数是JavaScript的一种基本数据类型。虽然可以使用这里介绍的Function()构造函数来创建函数对象，但这样做效率不高。在大部分情况下，推荐使用函数定义语句或函数直接量来定义函数。
    在JavaScript l.1及后续版本中，函数体会自动定义一个局部变量arguments，指代Arguments对象。该对象是一个值数组，元素是传递给函数的参数值。不要将这一属性与上面介绍的弃用的arguments[]属性相混淆。

    语法：
        function functionname(argument_name_list) // 函数直接量
        {
            body
        }
        function (argument_name_list) {body} // 匿名函数直接量
        functionname(argument_value_list)    // 函数调用
    构造函数：
        new Function(argument_names..., body)

    异常：
        表示在body参数或某个argument_names参数中存在JavaScript语法错误。</pre>
                    </div>
                </div>
            </div>

                        <div class="pk-unit-wrap">
                <div class="pk-unit">
                    <h1 class="clearfix">
                        <span class="pk-color-title pk-italic">参数</span>
                    </h1>
                </div>
                <div class="pk-unit">
                    <table>
                        <thead>
                            <tr>
                                <th class="pk-w120">参数名</th>
                                <th>描述</th>
                            </tr>
                        </thead>
                        <tbody>
                                                        <tr>
                                <td>argument_names...</td>
                                <td>任意多个字符串参数，每个字符串命名要创建的Function对象的一个或多个参数。</td>
                            </tr>
                                                        <tr>
                                <td>body</td>
                                <td>指定函数体的字符串。它可以含有任意多条JavaScript语句，这些语句之间用分号隔开，并且可以引用任意参数名，这些参数名由前面提到的传给构造函数的参数指定。</td>
                            </tr>
                                                    </tbody>
                    </table>
                </div>
            </div>
            
                        <div class="pk-unit-wrap">
                <div class="pk-unit">
                    <h1 class="clearfix">
                        <span class="pk-color-title pk-italic">返回值</span>
                    </h1>
                </div>
                <div class="pk-unit">
                    <div class="pk-unit-with-style">
                        <div class="pk-unit-tag">Description</div>
                        <pre>新创建的Function对象。调用该函数会执行由body指定的JavaScript代码。</pre>
                    </div>
                </div>
            </div>
            
                        <div class="pk-unit-wrap">
                <div class="pk-unit">
                    <h1 class="clearfix">
                        <span class="pk-color-title pk-italic">属性</span>
                    </h1>
                </div>
                <div class="pk-unit">
                    <table>
                        <thead>
                            <tr>
                                <th class="pk-w120">属性名</th>
                                <th>描述</th>
                            </tr>
                        </thead>
                        <tbody>
                                                        <tr>
                                <td>arguments[]</td>
                                <td>传递给函数的参数数组。不推荐使用。</td>
                            </tr>
                                                        <tr>
                                <td>caller</td>
                                <td>调用该函数的Function对象的引用。如果是全局调用，则该属性为null。不推荐使用。</td>
                            </tr>
                                                        <tr>
                                <td>length</td>
                                <td>声明函数时指定的形参个数。</td>
                            </tr>
                                                        <tr>
                                <td>prototype</td>
                                <td>一个给构造函数用的对象。用构造函数创建的所有对象会共享prototype对象定义的属性和方法。</td>
                            </tr>
                                                    </tbody>
                    </table>
                </div>
            </div>
            
                        <div class="pk-unit-wrap">
                <div class="pk-unit">
                    <h1 class="clearfix">
                        <span class="pk-color-title pk-italic">方法</span>
                    </h1>
                </div>
                <div class="pk-unit">
                    <table>
                        <thead>
                            <tr>
                                <th class="pk-w120">方法名</th>
                                <th>描述</th>
                            </tr>
                        </thead>
                        <tbody>
                                                        <tr>
                                <td>apply()</td>
                                <td>将函数作为指定对象的方法来调用。传递给它的是指定的参数数组。</td>
                            </tr>
                                                        <tr>
                                <td>bind()</td>
                                <td>返回一个新函数。通过可选的指定参数，作为指定对象的方法调用该方法。</td>
                            </tr>
                                                        <tr>
                                <td>call()</td>
                                <td>将函数作为指定对象的方法来调用。传递给它的是指定的参数。</td>
                            </tr>
                                                        <tr>
                                <td>toString()</td>
                                <td>返回函数的字符串表示。</td>
                            </tr>
                                                    </tbody>
                    </table>
                </div>
            </div>
            
                    </div>
    </body>
</html>
